Method and system for enterprise-wide migration

ABSTRACT

Disclosed are a method, system and computer program for collecting inventory data about a group of machines at an office. This method comprises the steps of running an inventory tool on each of the machines, and the tool presenting dialogue displays on each of the machines, filling in or changing data in the dialogues presented by the tool, and submitting the collected information to a server. Also disclosed are a method, system and computer program for customizing an inventory data collection tool for a plurality of logical groups of users. Each of the logical groups of users is provided with a copy of the inventory data collection tool and with a first copy of a common control file. Each of the groups of users uses the first copy of the common control file to customize the tool for the group of users.

CROSS REFERENCE TO RELATED APPLICATION

This application is a divisional application of copending applicationSer. No. 11/186,211, filed Jul. 21, 2005, which is acontinuation-in-part of copending application Ser. No. 10/728,520, filedDec. 4, 2003.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention generally relates to managing and effecting anenterprise-wide technology migration, and more specifically, to anintegrated set of tools and processes to manage an enterprise-wideinformation technology migration.

2. Background Art

Many corporations and other enterprises have very extensive informationtechnology or telecommunications systems or networks. These systems mayinclude personal computers, workstations, servers, printers, monitors,data storage facilities, as well as the many software applications usedon these devices and all the wiring, cabling and connectors needed tointerconnect the system or network components.

From time to time, it is necessary or desirable to make extensive orfundamental changes in or to these networks or systems. For instance, anenterprise may want to migrate from one basic type of network toanother. Examples of such migration include: Token-ring to Ethernet;Windows to LINUX; Dell PCs to IBM PCs; Microsoft Exchange/Outlook toLotus Notes; and phone system migrations.

These migrations, because of the large number of pieces of equipmentinvolved, the disparate nature of these pieces of equipment, and thecomplex relationships between the equipment, can be very difficult,complicated and expensive to manage. There does not exist in the priorart a configurable, integrated and end-to-end set of processes andcorresponding electronic toolsuite to manage effectively large scaleenterprise-wide information technology-related ortelecommunications-related migrations.

A number of specific challenges may be faced in the course of a largescale, enterprise-wide migration. For example, when preparing for alarge migration of any type, the first step is to see what the status ofthe existing machine is. Because of the large number of and very diversenature of those machines, it may be difficult to provide a manageableprocess and tool to do this.

Another challenge is that, whenever a large migration project is done,there are always targeted users that do not get completed during theplanned window. There can be many reasons for this, including users onvacations, or otherwise not available during the migration window.Processes and tools need to be provided that allow a user to collect thedesired inventory data outside of the window of time when the otherinventory methods are being used.

In addition, during a large migration project, data is collected abouteach client. Each logical group of clients often has customrequirements. For instance, clients in Canada may not use the RITconnectors or need to mail card and cables. While a new tool could bedeveloped for each of these logical groups of clients, this is a timeconsuming and cumbersome task. It is much more desirable to provide asingle, configurable tool that can be customized for each of theselogical groups of users.

In accordance with a second aspect of the invention, a method, systemand computer program are provided for customizing an inventory datacollection tool for a plurality of logical groups of users. The methodcomprises the steps of providing an inventory data collection tool,providing a common control file to customize the tool for each of saidlogical groups of users, and providing each of the logical groups ofusers with a copy of the inventory data collection tool and with a firstcopy of said common control file. Each of the groups of users uses saidfirst copy of the common control file to customize the tool for saideach of the groups of users.

In a preferred implementation of this aspect of the invention, a copy ofthe common control file is stored on a server that copy of the commoncontrol file on the server is updated, and each of the logical groups ofusers is provided with access to the copy of the common control file onthe server. In this way, each of the logical groups of users has theoption of using either the copy of the common control file on theserver, or the first copy of the common control file provided to saideach of the logical groups of users with the tool.

SUMMARY OF THE INVENTION

An object of this invention is to provide a comprehensive and integratedset of processes and tools to manage large-scale information-relatedmigrations.

Another object of the invention is to provide a configurable, integratedand end-to-end set of processes and corresponding electronic toolsuiteto manage effectively large-scale enterprise wide informationtechnology-related or telecommunications related migrations.

An object of this invention is to provide an improved procedure and toolfor collecting machine information for a large scale equipmentmigration.

Another object of the invention is to provide a desk side representativewith an improved, flexible and configurable tool for collectinginventory data needed for a large scale equipment migration.

A further object of the present invention is to provide a control filefor an inventory data allocation tool that enables users to customizethe information gathering per each logical group of users.

Another object of the invention is to locate an improved common controlfile for an inventory data collection tool on a central server, and toenable each of a plurality of users of the tool to download the controlfile in order to customize the tool for their own use.

An object of this invention is to download an inventory data collectiontool over a network, such as the Internet, to a computer.

Another object of the invention is to enable a client computer of anetwork to process an inventory data file generated by another computerof the network.

These and other objectives are attained with a method of and system forenterprise-wide migration. The method comprises the steps of creatinginstances of databases for a migration, for billing and reporting, andrepositing reports; gathering information on the organization, location,hardware, and software affected by said migration into a database forplanning said migration; and building an inventory of the affectedhardware and software using an inventory tracking tool or an inventorymailer.

Migration hardware and software is ordered based on said planning andsaid inventory, using an inventory tool; and labor, hardware, andsoftware as installed are tracked and billed, using said billing andreporting database. Agents for said creating, gathering, building andtracking are enabled using an agent control facility.

In a preferred embodiment, the database for planning includes one entryfor each device affected by the migration, and the built inventory istransmitted into the database for planning. Also, preferably, the agentcontrol facility includes an agent control database, and this databaseperforms the agent executions.

In accordance with one aspect of the invention, a method, system andcomputer program are provided for collecting inventory data about agroup of machines at an office. This method comprises the steps ofrunning an inventory tool on each of said machines, and the toolpresenting dialogue displays on each of the machines. The methodcomprises the further steps of filling in or changing data in thedialogues presented by the tool; and submitting the collectedinformation to a server.

In a preferred embodiment, the machine is physically migrated if theneeded hardware/software is available. Also, in the preferredembodiment, a desk side representative visits the office, runs saidinventory tool on each of said machines, and fills in or changes data inthe dialogue presented by the tool. As an alternative, the tool may bedownloaded to the physical group of users over a network such as theInternet.

In accordance with another aspect of the invention, a system is providedfor collecting inventory data about a group of machines at an office.This system comprises an inventory tool; means to run said inventorytool on said machines, wherein said tool presents dialogue displays oneach of the machines; means for filling in or changing data in thedialogues presented by the tool; and means for submitting the collectedinformation to a server.

Preferably, this system further comprises, for each of said machines,means for physically migrating the machine. Also, preferably, a deskside representative visits the office, and said desk side representativeoperates said means for running said inventory tool on each of saidmachines. Also, preferably, the desk side representative operates saidmeans for filling in or changing data in the dialogue presented by thetool. With one embodiment, inventory tool is downloaded over a networkto at least one of the machines of said group. With another embodiment,a desk side representative visits the office and brings the inventorytool to said office.

In accordance with another aspect of the invention, a system is providedfor customizing an inventory data collection tool for a plurality oflogical groups of users. This system comprises an inventory datacollection tool; a common control file to customize the tool for each ofsaid logical groups of users; and means for providing each of thelogical groups of users with a copy of the inventory data collectiontool and with a first copy of said common control file; and wherein eachof the groups of users uses said first copy of the common control fileto customize the tool for said each of the groups of users.

Preferably, a copy of the common control file is stored on a server, andthe system further comprises means for updating the copy of the commoncontrol file on the server; and means for providing each of the logicalgroups of users with access to the copy of the common control file onthe server; and wherein each of the logical groups of users has theoption of using either the copy of the common control file on theserver, or the first copy of the common control file provided to saideach of the logical groups of users with the tool.

Preferably, said first copy of the common control file includes means towarn one of said users that the said one of the users is using saidfirst copy of the common control file. Also, preferably, the means towarn includes means to warn said one of said users that said one of theusers is not using said copy of the common control file from saidserver. With one embodiment, each of the logical groups of users isgiven the inventory data collection tool with said first copy of saidcommon control file already on the inventory data collection tool. Withanother embodiment, said inventory data collection tool is downloadedover a network to at least one of said each of the logical groups ofusers.

Further benefits and advantages of the invention will become apparentfrom a consideration of the following detailed description, given withreference to the accompanying drawings, which specify and show preferredembodiments of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flow chart showing an embodiment of the invention.

FIG. 2 is a table listing a number of processes that may be used in thepractice of this invention, and for each of these processes, one or moretoolsuite components or databases, with a representative implementationnoted, that may be used to carry out the process.

FIG. 3 is a table that describes in greater detail the toolsuitecomponents and databases listed in FIG. 2.

FIG. 4 shows a number of services that may be used to provide inventorydata.

FIG. 5 shows a screen that may be used, in the present invention, toobtain.

FIG. 6 illustrates a screen used to obtain additional basic inventorydata.

FIG. 7 shows the screen of FIG. 6, with a “Recommended Adapter” field.

FIG. 8 shows a screen that may be used to collect information aboutcards on a computer being inventoried.

FIG. 9 illustrates a screen used to identify a type of equipmentmigration.

FIG. 10 shows a screen that is a dialogue box relating to the equipmentmigration.

FIG. 11 illustrates a screen that can be displayed when a “ShoppingCart” type of migration is selected.

FIG. 12 shows a screen that may be used if an adapter is beinginstalled.

FIG. 13 shows a screen that may be displayed if a computer is not beingmigrated.

FIG. 14 shows a screen used to input data if the computer user is notavailable.

FIG. 15 illustrates a screen that may be used to provide instructions tothe inventory tool.

FIG. 16 illustrates a screen that gives a list of special needs that aparticular machine may have.

FIG. 17 identifies inventory data that may be collected using thepresent invention.

FIG. 18 illustrates a procedure for downloading an inventory tool over anetwork and for processing an inventory file generated by that tool.

FIG. 19 shows in more detail a first part of the procedure illustratedin FIG. 18.

FIG. 20 shows a first part of the role of a dedicated client machine inthe procedures of FIG. 18.

FIG. 21 illustrates an approval process used in the procedure of FIG.18.

FIG. 22 shows another part of the role of the dedicated client machinein the process of FIG. 18.

FIG. 23 is a flow chart outlining a preferred method for using a ControlINI file in the implementation of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

As previously mentioned, many enterprises have very extensiveinformation technology or telecommunications systems or networks, and asystem or network migration can be expensive, time-consuming anddifficult to effect and manage. The present invention provides aconfigurable, integrated and end-to-end set of processes andcorresponding toolsuite to manage effectively a large-scale enterprisewide information technology-related or telecommunications relatedmigration.

FIG. 1 shows a preferred method 10 for implementing this invention. Atstep 12, instances of databases are created for the migration; and thesedatabases may be used for billing and reporting, and repositing reports.At step 14, information is gathered on the organization, location,hardware and software affected by the migration, and this information isgathered into a database for purposes of planning the migration. Next,at step 16, an inventory is built of the affected hardware and softwareusing an inventory tracking tool or an inventory mailer.

At step 20, migration hardware and software is ordered based on theabove-mentioned planning and inventory, using an inventory tool. Step 22of this method is to track and bill for labor, hardware and software asinstalled, using the billing and reporting database. As represented bystep 24, agents are used for the creating, gathering, building andtracking, and these agents are enabled using an agent control facility.

FIG. 2 identifies processes that may be used in a specific example ofthe present invention. The discussion given below uses a corporateEthernet Migration toolsuite and processes as the example of theinvention.

FIG. 2 identifies ten specific processes: Workload planning 32;Machine/client inventory information gathering 34; Customer contactmanagement 36; Deployable component inventory control and forecasting40; Labor tracking and billing 42; Deployable component tracking andbilling 44; Project reporting and measurements 46; Database instancecreations management and configuration 50; Centralized data processingagent execution 52; and Client information organizational and locationinformation 54. Each of these processes is discussed in more detailbelow.

Workload planning 32 includes creating an instance of a database for theenterprise. As indicated in FIG. 2, this may be done using the EthernetMigration Manager (EMM) database.

Machine/client inventory information 34 may include, for example,information about the number, make and models of the computers andprinters in the system, and this information can be collected in anumber of ways. The information can be obtained by the customer, or bythe service provider. Also, in some cases, the customer or the serviceprovider may already have this information, in which case, the data canbe directly imported into the database used for the migration. Asrepresented in FIG. 2, this information can be gathered using theEthernet Migration Manager Inventory Tool (EMMIT), the Mobile EthernetMigration Manager Inventory Tool (Mobile EMMT), and the Adapter ByException (ABE) tool.

The third process, customer contact management 36, shown in FIG. 2 isused to keep track of contact between the customer and the serviceprovider. Any suitable tool or tools may be used to implement thisprocess. For example, as indicated in FIG. 2, this process may beimplemented using the Ethernet Migration Manager Inventory Tool Mailer(EMMIT Mailer) database, and the Adapter By Exception Mailer (ABEMailer) database.

The Deployable component inventory control and forecasting process 40 isdone to determine the hardware that needs to be ordered for thecustomer. This hardware may include, for example, adapters,patch-cables, RIT connectors, and MDO devices. This process may beperformed using the Ethernet Migration Manager (EMM) database.

Throughout the migration process, it is necessary to keep track of thelabor that was done and to bill for this labor. Process 42, Labortracking and billing, does this. Specifically, this process may beperformed using the Ethernet Migration Manager (EMM) database, and theEthernet Migration Manager Billing and Reporting (EMM BAR) database.

The next process 44, Deployable component tracking and billing, listedin FIG. 2, is used to keep track of and to bill for the hardwarecomponents that are installed in the customer system. Any suitable toolsmay be used for this purpose. For instance, as shown in FIG. 2, thesetools may include the Ethernet Migration Manager (EMM) database, theEthernet Migration Manager Billing and Reporting (EMM BAR) database, andthe Ethernet Migration Manager Report Repository (EMM RR) database.

Throughout the whole migration process, reports are prepared and kepttrack of, and the Project reporting and measurement process 46 is usedto do this. In particular, FIG. 2 lists three databases that may be usedin this process, including the Ethernet Migration Manager (EMM)database, the Ethernet Migration Manager Billing and Reporting (EMM BAR)database, and the Ethernet Migration Manager Report Repository (EMM RR)database.

The next process 50, Database instance creation, management andconfiguration, is used to manage the overall migration. In particular,this process is used to identify new instances, manage the instancedatabase and to create new databases. Two specific databases may be usedfor this purpose: the EMM Instance Manager (EMM IM) database, and theEMM Documentation and Rules (EMM DR) database. This latter database isused to maintain all the pertinent data in one place.

The Centralized data processing agent execution process 52 is providedto manage all the agent programs that are used to run the instancesutilized in the migration. The EMM agent control (EMM AC) database maybe used for this purpose.

The tenth process listed in FIG. 2 is Client information organizationaland location information 54. This process may be used to maintaininformation about, for example, the customer's employees. Preferably,all of this information is kept in one database, the Client InformationRepository (INFO NSF) database.

FIG. 3 is a table that gives more information about the specificdatabases and tools referred to in FIG. 2. With reference to FIG. 3, theEthernet Migration Manager (EMM) database 60 is a Lotus Domino databasewhich contains one entry for each client and/or machine and/or devicebeing affected by the migration. Each entry contains information aboutthe owner, location, migration status, labor required, components(s)delivered, etc. The Ethernet Migration Manager Inventory Tool (EMMIT) 62is a Windows executable, which gathers information about a client and/ormachine and/or device and transmits this information to EMM. The MobileEthernet Migration Manager Inventory Tool (Mobile EMMIT) 64 also is aWindows executable (mailable to remote employees), which gathersinformation about a client and/or machine and/or device and transitsthis information to the EMMIT Mailer.

The Ethernet Migration Manager Inventory Tool Mailer (EMMIT Mailer)database 66 is a Lotus Domino database which contains one entry for eachremote employee who has been sent the EMMIT Mailer tool. The Adapter ByException (ABE) tool 70 is a Windows executable (mailable to employeesrequiring migration upon demand) which gathers information about aclient and/or machine and/or device and transmits this information toEMM. The Adapter By Exception mailer (ABE Mailer) database 72 is a LotusDomino database which contains one entry for each remote employee whohas been sent the ABE tool.

The Ethernet Migration Manager Billing and Reporting (EMM BAR) database74 is a Lotus Domino database which contains in one place allinformation from all enterprise instances of EMM. The Ethernet MigrationManager Report Repository (EMM RR) database 76 is another Lotus Dominodatabase which contains all billing reports and snapshot data points tosupport delta billing process. The EMM Instance Manager (EMM IM)database 80 is a Lotus Domino database which contains one entry for eachenterprise instance of EMM. Instance status, geography, etc.,information is managed in this database.

The EMM Documentation and Rules (EMM DR) database 82 is a Lotus Dominodatabase which contains documentation and configurable rules common toall instances of EMM. It is used to automatically distribute updates ofthis information to all instances. The EMM Agent Control (EMM AC)database 84 is another Lotus Domino database which contains one entryfor each enterprise instance of EMM. A series of data processing agentsmay be enabled/disabled for all enterprise instances. This database alsocontains the data processing agent scheduling and performs the actualagent executions. The Client Information Repository (INFO.NSF) database86 is a Lotus Domino database, which contains centralized employeeorganizational and location information for efficient use by othertoolsuite components.

In accordance with one aspect of the invention, a procedure and tool areprovided for collecting machine information for a large scale migrationby desk side representatives (DSR). Generally, in this aspect of theinvention, a DSR visits each workstation and runs a tool that collectsrequired data about the workstation and sends it back to a collectionserver. If the tool cannot be run on the workstation, then it can be runon some other workstation and the data can be entered manually tocomplete the inventory.

More specifically, the preferred embodiment of this aspect of theinvention comprises the following steps:

-   -   1. DSR visits an office;    -   2. Run the EMM IT tool on the machine;    -   3. Fill in or change the data in the dialogs presented by the        tool;    -   4. Physically migrate the machine if the needed        hardware/software is available; and    -   5. Submit the collected information to the server.

FIGS. 4-17 illustrate this aspect of the invention. As shown in FIG. 4,a number of sources can be used to provide the necessary or desiredinventory data to the migration manager. For instance, inventory tool102 may be used, a spreadsheet 104 may be used, or a flat file 106 maybe used. FIG. 4 also shows a desired inventory record 110. As indicatedtherein, this record may include, for each network device, the location,owner, device type, network port, IP address, whether the IP address isstatic or DHCP, the required adapter, and the wiring closet; andpreferably, the inventory record also provides an area or space forcomments. As will be understood by those of ordinary skill in the art,the record may include more or less information than as shown in FIG. 4.

Preferably, the inventory tool 102 is designed to run on any WindowsClient, and is designed to run a network connected or stand-alonewindows system to collect inventory and network information. Also, theinventory tool, preferably, includes an INI file that controls all ofthe configurable features for the pull down menus in each screen, andthe tool provides input checking. For example, the inventory tool may bedesigned so that if data entered does not match a template, an errormessage is displayed.

FIG. 5 shows a screen 120 used to obtain basic data such as theinventory data and time, the data collector's ID, the machine class, andmachine usage. This screen also includes an area 122 for comments.

FIG. 6 shows a screen 124 with additional basic information. Forexample, this screen provides the name and identification informationabout the workstation user, information about the location of theworkstation, and other information about the workstation. Preferably,this other information also includes a list 126 of the network cards onthe computer. Also, preferably, most or all of this information ispre-filled, with the data collector having the option to change thedata.

The screen of FIG. 6 can also be used to let the computer user know whatthe recommended adapter is. Tool 102 includes a routine to map thecomputer configuration, including data identified in the previous screento a recommended adapter. With reference to FIGS. 6 and 7 when the“recommended adapter” button 128 shown in the lower right of the screenis pushed, the screen then identifies that recommended adapter. If themachine configuration does not map to an adapter, then the screen candisplay “Unknown” or if the machine configuration does not require anadd on network card the screen can display “None Required” as shown inFIG. 7 at 130.

The screen 132 of FIG. 8 is used to show more information abut the cardson the machine, and a respective one screen may be shown for each cardlisted in the screen of FIG. 6. To complete the screen of FIG. 8, theDSR verifies, among other information, that the card is on the machineand enters a cable ID.

The screen 134 of FIG. 9 is used to identify the type of migration. TheDSR has four choices: (1) Inventory Only, (2) Self Install, (3) ShoppingCart Install, and (4) Not to be Migrated. “Inventory Only” means that nomigration is being done at this time, and “Self Install” means that thecomputer user will do the install on their own. “Shopping Cart Install”means that the DSR will do the install immediately, during the visit,and “Not to be Migrated” means that this machine will not be migrated atall.

Preferably, the screen of FIG. 9 is also used to indicate whether anadapter was just installed. If there was a recommended adapter thatappeared in the previous screen, and that adapter was verified as beingin this machine, this option preferably appears. In the preferredprocedure, the DSR indicates “yes” if this card was just installed forthe client. This, then, will be the adapter that appears in the “AdapterInstalled” field 140. This field indicates “no” if this card was alreadyin the machine. This is the case if the machine did not need a card tobe installed.

FIG. 10 shows a screen 142 that is a dialogue box relating to themigration. Fields 144 and 146 are provided to show who is performing theinstallation and the status of the migration. A subfield is provided toshow the scheduled date and time for the migration, and preferably thissubfield defaults to the present time. Another field 150 is provided toshow the installed hardware, which may include cables, RITs and MDOs. Inaddition, a field 152 is shown to keep track of the labor time used forthe installation.

FIG. 11 shows a screen 154 that can be displayed when the “ShoppingCart” type of migration is selected, and this screen is used to collectdata about the migration. A field 156 is provided to indicate whetherthe migration is complete or not, and another field 160 is provided toshow the installed hardware, including cables, RITs and MDOs. A field162 may also be used to keep track of the labor time for the migration.

FIG. 12 shows a screen 164 that is another version of the screen of FIG.11 and that may be used if an adapter is being installed. This screenshows the recommended adapter, and includes a field for identifying theactual installed adapter.

If no migration is to occur, the screen 170 of FIG. 13 may be shown. Afield 172 is provided to choose a reason for no migration, and a field174 may be provided to keep track of the amount of time used for theinventory.

FIG. 14 shows a screen 180 used to input data if the computer user isnot available. Fields 182 and 184 are provided to identify the user nameand other user information, and to identify the location of the machine.

FIG. 15 shows a screen 186 that is used to instruct the tool about whatto do with the collected inventory data. As indicated on the screen, theDSR has four options: (1) send the data to the server and exit; (2) savethe data locally and exit; (3) send the data to the server and inventoryanother machine or port; and (4) save the data locally and inventoryanother machine or port. Preferably, if the data is saved locally andthe DSR later wants to send the data to the server, this can be done byexecuting the tool again. When re-executed, the tool will ask the DSR ifthey want to send the data that is saved to the server.

Screen 190 of FIG. 16 shows a list of special needs that a particularmachine may have. A variety of needs may be shown on this screen, and,in the preferred embodiment, this list is determined by entries in theINI control file used by the inventory tool.

FIG. 17 shows, as an example, inventory data that may be collected usingthe inventory tool. As shown in this Figure, this data may includeinformation about the ports, the machine, the adapter, the network,scheduling, and other general information.

In accordance with another aspect of this invention, a procedure isprovided for downloading inventory data tool 102 over a network such asthe Internet. As mentioned above, in a preferred procedure, a Desk SideRepresentative manually uses the inventory tool to collect the inventorydata for the computers of a network. As an alternative, the inventorycollection tool can be downloaded to the computers of the network, andeach computer can use that tool to collect the desired inventory dataabout itself. For example, the tool may be stored on a Web site anddownloaded there from over the Internet. This alternative procedure maybe used if, for instance, one or more of the computers was missed by theDSR—that is, for one reason or another, the DSR did not collect theneeded data from one or more of the computers.

FIGS. 18-21 illustrate this alternate inventory data collectionprocedure. FIG. 18 provides an overview of the procedure, and FIGS.19-22 show in more detail various parts of the procedure. Generally,FIG. 18 shows Web site 202, which holds inventory tool 102, a requestormachine 204, a dedicated client machine 206, approver machines 210 and214, and storage server 214.

In operation, the inventory tool 102 is downloaded from the Web site 202to a computer 204 that requests the tool, and this computer thenexecutes the tool to generate an inventory (INV) file that is thentransmitted to the dedicated client machine 206. This dedicated clientmachine is a computer on the network that is running software in theNotes Client 216 that enables it to process the INV files sent from therequester machine 204. If the appropriate approval is received from theapprover machines, and it is otherwise appropriate to process the INVfile, that file is then sent to server 214. This server may be part ofWeb site 202, or it may be a stand alone server. Also, during theabove-described process, messages may be sent, as represented at 216,among machines 204, 206, 210 and 212.

FIG. 19 illustrates in more detail a first part of this process. Morespecifically, as represented at 220, at the start of this process, auser visits a Web page at Web site 202 to obtain the inventory tool.That tool is downloaded to requestor machine 204 that, as represented at222, executes the tool to create an INV file. As represented at 224,when this file is created, it is stored using FTP on the dedicatedclient machine in a directory, referred to as the exception directory,which is a directory set up for this purpose.

FIG. 20 shows in more detail the role of the dedicated client machine206. At step 230, this machine reads the INV file that was saved by therequestor machine 204. As represented at 232, the dedicated clientmachine then determines if the INV file is from a machine that belongsto a division that is being migrated. If not, then at 234, an errormessage is sent back to the requestor machine and the procedure ends.However, if the division is being migrated, the procedure moves on toblock 236, where an INV received message is sent back to requestormachine 204. Then, at 238, the client machine 206 sends a first approvalrequest to approver machine 210.

Approver machine 210 follows the sub-procedure of FIG. 21. At 240, themachine reads the request for approval; and at 242, that request iseither approved or rejected. In either case, and as represented at 244and 246, notification of the decision is sent back to the dedicatedclient machine 206.

The dedicated client machine 206 then proceeds as shown in FIG. 22. At250 and 252, the machine reads the response from the approver machine210 and determines whether that response is an approval or a rejection.If the response is a rejection, then at 254, a memo to this effect issent back to the requestor machine 204, and the procedure ends. If theresponse is an approval, then at 256, the client machine determines ifan additional approval is needed. If not, the client sends, at 260, amemo to this effect to the requestor machine. Then, at 262 the INV fileis moved to server 214, and the procedure terminates.

However, if at 256, the dedicated client machine 206 determines that anadditional approval is needed, then at 264, a request for approval issent to second approver machine 212. This machine, following theprocedure of FIG. 21, either approves or rejects the request, and sendsa response, indicating this decision, back to the dedicated clientmachine.

Upon receipt of this response, the dedicated client machine againproceeds through the routine of FIG. 22. If the request for approval wasdenied, a notice to this effect is sent to the requestor machine, andthe process ends. If the approval was granted, the dedicated clientmachine determines whether further approval is needed. If no furtherapproval is needed, the INV file is moved to server 214, and the processends.

In accordance with a further aspect of the invention, a control file isprovided to enable users to customize information gathering per eachlogical group of users. The data collection tool along with controlfields are made available using one of the procedures discussed above orsome other procedure. The client or a desk side representative then runsthe tool with the appropriate control file. The screens and questionspresented to the user are then customized according to the control fileso that they are appropriate for that group.

As an example, during an Ethernet migration project, at severallocations it may be necessary to collect information about a largenumber of connections to a host from a workstation. The control file forthose locations may include a “Special Needs” section so a client wouldbe presented a list of possible special needs. At other sites, there maybe no need to collect this information, so there is no “Special Needs”section included in the control files for those sites. Yet other sitesmay use the “Special Needs” section to collect other location specificdata.

An example of a suitable control file is shown in the attached Appendix.This control file comprises a number of sections, including: Arguments;Server Information; Data Collectors List; National Language Support;Machine Class Data; Machine Usage Data; Prefill Executable Definition;Static IP Address Justifications; No Migration Reasons; SupportedAdapter Names; Installer List; Install Adapter Rules; Default Values;Site, Building and Floor Definitions; Input Checking Rules; SpecialNeeds; Ship To For Mobile; MDO Devices; Not Complete Reasons; andIncluding Other INI Files.

The Arguments section provided several initialization parameters andsettings, and the Server Information Section identifies the destinationserver to which the collected data is sent. The Data Collectors listsection provides a list of data collectors, and the National LanguageSupport Section is used to ensure that the collection tool uses theappropriate language. The Machine Class Data section defines possibleselectable values for each machine class, and the Machine Usage Datasection defines what the returned values will be when a machine usage ischosen. The Prefill Executable Definition section provides theinformation needed to prefill various fields, and the Static IP AddressJustification section defines the list of justifications that can beselected for the need for a static IP address.

The No Migration Reasons section defines a list of reasons that amigration could not be done, and the Supported Adapter Names sectiongives a list of the supported adapter drive names that would be found bythe tool. The Installer List section defines a list of installers, andthe Install Adapter Rules section provides rules that are used todetermine what adapter needs to be used during an install on aparticular machine type and model. The Default Values section is used todefine the install initial input values when data for a new machine isbeing collected; and the Sites, Building and Floor Definitions sectionis used to define a list of sites, buildings and floors available to theuser.

The Input Checking Rules section defines the input checking rules foreach text input field, and the Special Needs section lists a series ofcheckable items that a site needs to query during inventory. The Ship ToFor Mobile section contains settings that define the States ofProvenance in the Ship To section of the mobile tool, and the MDO devicesection gives a list of Multiple Device Offering devices that can beselected when indicating what device was delivered to a desktop. The Notcomplete Reasons section defines a list of reasons that the migrationmay not be completed, and the Including Other INI Files section allowsone control NI file to include other control INI files.

FIG. 23 is a flow chart illustrating a preferred procedure for usingthis Control INI file. In this preferred procedure, at steps 302 and304, respectively, an inventory data collection tool, and a single,common control file are provided. At step 306, each logical group ofusers is provided with the inventory data collection tool and a copy ofthat common control file. Each logical group of users can, asrepresented at 310, then use the common control file to customize thetool for that groups own inventory data collection process.

Also, in a preferred embodiment, as indicated at steps 312 and 314, thecommon control file is stored on a server, and each of the logicalgroups of users has access to that copy of the control file. In thisway, when it is necessary or appropriate to update the control file itis necessary to update only the copy on the server, as represented at316. Each of the logical groups of users can, as represented at 320,then obtain the updated common control file from the server.

The users do not have to use that updated control file, though. Theusers have a choice of using the copy of the control file already on theinventory data collection tool, or using the updated copy from theserver. Preferably, if the user uses the copy of the control filealready on the tool, the user is warned that he or she is using thiscopy and not the copy of the control file from the server.

As will be readily apparent to those skilled in the art, the presentinvention can be realized in hardware, software, or a combination ofhardware and software. Any kind of computer/server system(s)—or otherapparatus adapted for carrying out the methods described herein—issuited. A typical combination of hardware and software could be ageneral purpose computer system with a computer program that, whenloaded and executed, carries out the respective methods describedherein. Alternatively, a specific use computer, containing specializedhardware for carrying out one or more of the functional tasks of theinvention, could be utilized.

The present invention can also be embedded in a computer programproduct, which comprises all the respective features enabling theimplementation of the methods described herein, and which—when loaded ina computer system—is able to carry out these methods. Computer program,software program, program, or software, in the present context mean anyexpression, in any language, code or notation, of a set of instructionsintended to cause a system having an information processing capabilityto perform a particular function either directly or after either or bothof the following: (a) conversion to another language, code or notation;and/or (b) reproduction in a different material form.

While it is apparent that the invention herein disclosed is wellcalculated to fulfill the objects stated above, it will be appreciatedthat numerous modifications and embodiments may be devised by thoseskilled in the art, and it is intended that the appended claims coverall such modifications and embodiments as fall within the true spiritand scope of the present invention.

APPENDIX EMM IT Control INI File

The INI file controls all of the configurable features of the EthernetMigration Manager Inventory Tool (EMMIT) or Ethernet Migration ManagerInventory Tool (Mobile EMMIT) This document describes the format of thisfile and what it controls.

Friday, Sep. 5, 2003

-   -   Arguments    -   Server Information    -   Data Collectors List    -   National Language Support    -   Machine Class Data    -   Machine Usage Data    -   Prefill Executable Definition    -   Static IP Address Justifications    -   No Migration Reasons    -   Supported Adapter Names    -   Installer List    -   Install Adapter Rules    -   Default Values    -   Site, Building and Floor Definitions    -   Input Checking Rules    -   Special Needs    -   Ship To for Mobile    -   MDO Devices    -   Not Complete Reasons    -   Including other INI Files

Arguments

The following arguments may be passed to the EMIVI executable. Thearguments will override any INI values

noprefill

-   -   Do not preload the tool with current machine information.        helppath    -   Specify the local path to be used for help file testing.        seated    -   Identifies this user as a seated employee being sent the mobile        version of the tool. The machine class becomes Seated Laptop.

Server Information

The [Server] section defines the destination server. The collected datais sent to this server when instructed to do so by selecting theappropriate option on the Action dialog.

The following values are defined in this section;

address

-   -   The TCP/IP address of the server that will collect the machine        data.

UserID

-   -   The User ID on the collection server.

Password

-   -   The password for the user on the collection server, hashed        value.

DataPath

-   -   The FTP path where the collected data is to be placed.

ArchiveEXT

-   -   The extension to be placed on the data files after they are        moved to the server. If no extension is specified then the file        is removed after being sent.

FileLocation

-   -   Override the default location for INV, memory and archive files.

UseMemory

-   -   Yes or No to determine if a memory file will be used/created to        remember some of the input values from use to use of the tool.

ShipTo

-   -   Controls the Ship To dialog on the mobile tool, Yes=always        display it, No=never display it, Auto=display it according to        the operating system.

PersonalRITs

-   -   Controls whether the personal RITs question is asked even if the        machine class is laptop. Yes=ask the question if the machine        class is laptop(default), No=do not ask the question.

HelpSite

-   -   The server and location for on line help implemented as HTML

SelfInstall

-   -   Controls whether the self install option is available. Yes=allow        the self install option, No=do not allow the self install        option(default).

Seated

-   -   Yes or No to tell the mobile tool if this employee is seated or        not. The default is No.

Data Collectors List

The [Collectors] section defines the list of data collectors that willbe in the drop down on the General Data dialog. Each non blank line inthis section will be one collector ID in the list.

National Language Support

The [NLS] section is used to ensure that the collection tool and theNotes database are in sync as far as the returned values for any valuethat might have language considerations. If this section does not existthen the English defaults will be used for each. Normally this sectionis not modified by an end user.

The following values;

Yes

-   -   The value returned whenever a Yes response is needed.

No

-   -   The value returned whenever a No response is needed.

BlockedPort

-   -   The value returned as the port ID when it is blocked and the        inventory personnel can not read it.

UnknownSerial

-   -   The value returned as the MachineSerial if it is not known at        the time the inventory was taken.

UnknownOwner

-   -   The value returned in the OwnerSerial if the owner is not known        at the time the inventory was taken.

StaticPrinterJustification

-   -   The justification that will be given to all network printers.

IBM

-   -   The name of IBM to be used to check for an IBM manufacturer.

CC

-   -   The country code, used for blue pages look up.

AdapterDelivered

-   -   The text string that is used to indicate that a card was        delivered for self install.

AdapterNotDelivered

-   -   The text string that is used to indicate that a card was        required but not delivered for self install.

AdapterNotRequired

-   -   The text string that is used to indicate that a card is not        required for self install.

StatusOpen

-   -   The status to pass back when the new document is to be in the        open status in EMM.

StatusPending

-   -   The status to pass back when the new document is to be in the        pending status in EMM.

StatusNoMigration

-   -   The status to pass back when the new document is to be in the        NoMigration status in EMM.

StatusComplete

-   -   The status to pass back when the new document is to be in the        Complete status in EMM.

SerialNotInBluePages

-   -   The incomplete reason that is automatically chosen if the users        serial number is not found in Blue Pages.

MachineNotAvalable

-   -   The incomplete reason that is passed back when the        employee/machine is not available.

Machine Class Data

Each machine class has a section that defines possible selectable valuesfor that class. The following values can be defined for a class;

ID

-   -   The class ID that is returned to the database in the        MachineClass value.

OS

-   -   Each operating system and operating system version that can be        selected will be defined with this value. The format of this is        as follows;    -   OS=del name del selfinstall del ver1 del ver2 del . . .    -   Where;    -   del    -   A single character that will be used as a delimiter for the rest        of the data.    -   name    -   The name given to the operating system.    -   selfinstall    -   Determines if a self install can be done by a user of this        operating system. Yes indicates that a self install can be done,        No indicates that it can not.    -   ver1 . . . ver2    -   The version numbers displayed in the list for this operating        system.

Card

-   -   Each card name that can be selected for this class will be        defined with this value. The part number of the card can be        included if it is at the beginning of the name and enclosed in        < > characters.

Manufacturer

-   -   Each manufacturer that is placed in the selection list for this        class will be defined with this value.

The machine class sections are;

[ClassDesktop]

-   -   Class definitions for desk top machines.

[ClassLaptop]

-   -   Class definitions for lap top machines.

[ClassRISC]

-   -   Class definitions for RISC workstations.

[ClassPrinter]

-   -   Class definitions for network printers.

[ClassPort]

-   -   Class definitions for network ports.

[ClassOther]

-   -   Class definitions for any other type of machine.

[ClassMobile]

-   -   Class definitions for the mobile EMM IT

[ClassNotAvalable]

-   -   Class definitions for the case where the machine is not        available. The class ID is the only piece of class data that is        used by this class.

Machine Usage Data

Each machine usage has a section that defines what the returned valueswill be when a usage is chosen. Within each of these sections thefollowing values are defined;

ID

-   -   What is to be returned in the MachineUsage value.

Form

-   -   The form that will be used to display/edit the data in the Notes        database.

The following usage sections may exist;

[UseNotes]

-   -   The usage information for a primary notes workstations.

[UseLab]

-   -   The usage information for the test/lab/manufacturing machines.

[UsePrinter]

-   -   The usage information for a network printer.

[UsePort]

-   -   The usage information for a network port only.

[UseOther]

-   -   The usage information for any other machine usage.

[UseMobile]

-   -   The usage information for a mobile machine.

Prefill Executable Definition

The [Prefill] section to define the information required to prefillfields from ISAM and Blue Pages data.

URL

-   -   The URL used to look up bluepages information.

QipURL

-   -   The URL used to look up the host name in the name server.

ISAMFile

-   -   The name of the ISAM file with the owner/user serial number in        it.

OnStartUp

-   -   Do you want the data to be preloaded when the application        starts, Yes or No, the Mobile version always preloads.

Static IP Address Justifications

The [Static Justifications] section defines the list of justificationsthat can be selected for the need for a static IP address. Each of thenon blank lines in this section will be one of the justifications in thelist.

No Migration Reasons

The [No Migration Reasons] section defines the list of reasons that amigration could not be done. Also whether additional comments arerequired is also defined for each reason in the list. Each reasonentered in this section has the following format.

reason=required

Where:

reason

-   -   The description of the reason, this will appear in the drop        down.        required    -   Yes if the additional comment is required, No if not.

Supported Adapter Names

The [Supported Adapters] section defines a list of the supported adapterdriver names that could be found by the tool. If an adapter is foundwith this name in the registry then it will be flagged with an indicatorthat it is a supported card. Each adapter is a single line within thissection with the following format.

card=drivernamewhere:card

-   -   The part number of the card that uses this driver name.        drivername    -   The driver name that is placed in the registry for this card.

Installer List

The [Installers] section defines the list of installers that will be onthe Installer drop down on the Migration Data dialog. Each non blankline in the section becomes one of the installers in the list. If thissection is missing, the Data Collector List will be used.

Install Adapter Rules

The [Install Adapter Rules] section defines the rules that are used todetermine what adapter needs to be used during an install on aparticular machine type and model. Each rule is a single line withinthis section with the following format.

card=del selfinstall del model type del model type . . .where:card

-   -   The card to install in the machine.        del    -   A single character that will be used as a delimiter for the rest        of the data.        selfinstall    -   This flag determines if this adapter can be used to do a self        install. Yes indicates that it can No if it can not.        model    -   The 4 digit model of the machine being looked up. The model/type        pair can be repeated providing a list of machines that will take        this card.        type    -   The 3 character type of the machine being looked up.

Default Values

The [Defaults] section is used to define the initial input values whendata for a new machine is being collected.

Values that control checking for all templates;

PreSelect

-   -   The character specified here is used as the character that is        preselected when you tab to one of the fields that can be        defaulted.        Values for the General Data dialog;

CollectorID

-   -   The Data Collector ID to select from the list. If this ID is not        in the list then the first ID is selected.

MachineClass

-   -   The initially selected Machine Class. One of the following;    -   Desktop    -   Select Desktop PC. With the mobile tool this changes the class        to Seated Desktop.    -   Laptop        Select Laptop PC. With the mobile tool this changes the class to        Seated Laptop.    -   RISC Workstation    -   Select RISC Workstation.    -   Network Printer    -   Select Network Printer.    -   Network Port Only    -   Select Network Port Only.    -   Other    -   Select Other.    -   RITs Only    -   This class is used by the mobile tool to indicate that it should        collect data for a previously migrated client requesting a        personal RiT.

MachineUsage

-   -   The initially selected Machine Usage. One of the following;    -   Primary Notes Workstation    -   Select Primary Notes Workstation.    -   Lab/Manufacturing/Tester    -   Select lab/Manufacturing/Tester.    -   Other    -   Select Other.

Comments

-   -   The text to prefill into the Comments field.        Values for the Machine Data dialog;

OwnerSerial

-   -   The Owner/User Serial.

OwnerLName

-   -   The Owner/User Last Name.

OwnerTie

-   -   The Owner/User Tie or internal phone number.

Site

-   -   The Location Information Site.

Building

-   -   The Location Information Building.

Floor

-   -   The Location Information Floor.

Office

-   -   The Location Information Office.

MoversNeeded

-   -   The value for Location Information Movers Needed, Yes if movers        are needed to move furniture, No if not.

MachineManufacturer

-   -   The Machine Information Manufacturer.

MachineSerial

-   -   The Machine Information Serial.

MachineType

-   -   The Machine Information Type.

MachineModel

-   -   The Machine Information Model.

OS

-   -   The initially selected Machine Information OS or operating        system. If this value is not in the list available then the        first OS in the list will be selected.

OSVersion

-   -   The operating system version. If this value is not in the list        then the first available version in the list will be selected.        Values for the Network Data dialog

CableID

-   -   The Cable ID, the number on the wall port.

StaticIPRequired

-   -   Is a static IP address required, Yes or No

StaticJustification

-   -   The justification to be used for the need for a static IP        address.

Address

-   -   The TCP/IP Address.

HostName

-   -   The Host Name.

CardName

-   -   The name of the card

Splitter

-   -   Is there a splitter connected to the wall port, Yes or No        Values for the Supplemental Data dialog

TesterName

-   -   The Tester Name.

Manufacturer

-   -   The Hardware Manufacturer.

ManufacturingSup

-   -   The Support Personnel Manufacturing Engineering.

OSSup

-   -   The Support Personnel Operating System.

HardwareSup

-   -   The Support Personnel Hardware.        Values for the Migration Type dialog in the non mobile version.

AskForMigrationType

-   -   Should the dialog be displayed that asks for the type of        migration desired.

InstallType

-   -   The type of install as follows.    -   Inventory    -   Recording an Inventory only.    -   ShoppingCart    -   Recording a shopping cart install.    -   NoMigration    -   No migration will be done on this machine        Values for the MigrationData dialog.

IGSInstaller

-   -   Yes if the installation was done by IGS, otherwise No.

Installer

-   -   The name of the installer.

ScheduledDate

-   -   The date that the install will or has taken place . . .        mm/dd/yyy format.

ScheduledTime

-   -   The time that the install will or has taken place . . . mm:ss        format.

Complete

-   -   Yes if the migration installation is complete, otherwise No.

ReScheduled

-   -   Yes if the migration has been rescheduled, No otherwise.

ReasonNotComplete

-   -   The reason that the migration is not complete.

CustomerSupplied

-   -   Yes if the card was supplied by the customer, No if IGS supplied        the card.

Adapter

-   -   The part number of the adapter that is delivered for a self        install.

Adapters

-   -   The number of adapters delivered to the user.

Cables

-   -   The number of cables delivered to the user.

RIT

-   -   The number of RIT connectors delivered to the user.

MDO

-   -   The name of the MDO device that is delivered.

MDOs

-   -   The number of delivered MDO devices.

InventoryHrs

-   -   The number of hours spent on inventory.

InventoryMin

-   -   The number of minutes spent on inventory.

InstallHrs

-   -   The number of hours spent on installation.

InstallMin

-   -   The number of minutes spent on installation.

OtherHrs

-   -   The number of hours spent on other tasks.

OtherMin

-   -   The number of minutes spent on other tasks.        Values for the New Data Action dialog.

Action

-   -   Define the default action, one of the following;    -   SendExit    -   Send the data on the server and exit.    -   SaveExit    -   Save the data on diskette and exit.    -   SendMore    -   Send the data on the server and take another inventory.    -   SaveMore    -   Save the data on diskette and take another inventory.        Values for the Ship To dialog on the mobile version

ShipToCountry

-   -   The country name. default values are United States (US) and        Canada.

ShipToFName

-   -   The users first name as it is to appear on the shipping label.

ShipToLName

-   -   The users last name as it is to appear on the shipping label.

ShipToAddress1

-   -   First line of the address as it is to appear on the shipping        label.

ShipToAddress2

-   -   Second line of the address as it is to appear on the shipping        label.

ShipToCity

-   -   The name of the city as it is to appear on the shipping label.

ShipToState

-   -   The state or province selected from the list provided according        to the ShipToCountry.

ShipToZip

-   -   The zip code or postal code as it is to appear on the shipping        label.

ShipToPhone

-   -   The phone number of the contact person for the shipment.

Site, Building and Floor Definitions

The [Sites] section defines the list of sites, buildings and floorsavailable to the user in the drop down selections. Each building on asite is defined as a line in this section as follows;

site=del building del floor del floor . . .

Where;

site

-   -   The site name as it will appear in the list.        del    -   A single character delimiter used between the building and each        floor name        building    -   The name of the building as it will appear in the list for this        site being defined on this line.        floor    -   The name of one of the floors, as it will be displayed in the        list, in the building being defined on this line/Input

Checking Rules

The [Checking Templates] section defines the input checking rules foreach text input field. The approach for input checking is to have aseries of legal templates. If the data input in the field matches any ofthe templates then it is considered legal and no error is issued. If thedata entered does not match any of the templates then the error messagespecified is issued and the user must correct the data before saving thedata.

The set of templates for each field is entered on a separate line of theNI file in the following format;

field=del message del template del template . . .

Where:

del

-   -   A single character that is used as the delimiter between the        message and each template for this field.        field    -   The name of the field who's template is being defined        message    -   The error message to display when this        template    -   The template for that field        Within the templates the following characters are used to        determine the character type considered legal. If the template        is one character long then that character determines the data        type of the entire input field. Characters other than these must        appear as is, disregarding case.        *    -   Either a number or alpha        @    -   Only alphas a-z        #        Only numbers 0-9

The field names that are checked using the templates are listed below;

Values for the Machine Data dialog; OwnerSerial

-   -   The Owner/User Serial.

OwnerLName

-   -   The Owner/User Last Name.

OwnerTie

-   -   The Owner/User Tie or internal phone number.

Office

-   -   The Location Information Office.

CableID

-   -   The Cable ID, the number on the wall port.

MachineSerial

-   -   The Machine Information Serial (IBM manufacturer only).

MachineSerialNonIBM

-   -   The Non IBM machine serial number.

MachineType

-   -   The Machine Information Type (IBM manufacturer only).

MachineDescription

-   -   The Machine Description information in the mobile version.

MachineModel

-   -   The Machine Information Model (IBM manufacturer only).

HostName

-   -   The HostName.

Address

-   -   The Address.

ShipToFName

-   -   The first name on the shipping label.

ShipToLName

-   -   The last name on the shipping label.

ShipToAddress1

-   -   The first line in the ship to address.

ShipToAddress2

-   -   The second line in the ship to address.

ShipToCity

-   -   The city in the ship to address.

ShipToZip

-   -   The zip or postal code in the ship to address.

ShipToPhone

-   -   The phone number in the ship to address.

Special Needs

The [Special Needs] section list a series of checkable items that a siteneeds to query during inventory. The returned value, to be used in thedatabase, and a description are entered here. If this section existsthen a Special Needs dialog is displayed with each of the items on it.An inventory taker simply checks the appropriate ones and the data isreturned in the inventory. Up to fifteen (15) special needs can bedefined.

Each line in the section has the following syntax;needid=description

Where:

needid

-   -   The value returned to the database if this need is checked.        description    -   A description of the need, to be displayed on the special needs        dialog.

Ship To for Mobile

-   -   The [Shipto] section is only used by the Mobile version of EMM,        it contains settings that effect the Ship To inputs. Each        supported country and its States or Provenance are defined in        this section as follows;        country=del state del state del state . . .        country    -   The country name to be included.        del    -   A single character delimiter used to separate each state or        province name.        state    -   The state or province name to be included for this country.

MDO Devices

The [MDO Devices] section defines the list of Multiple Device Offeringdevices that can be selected when indicating what device was deliveredto the desktop. Each of the non blank lines in this section will be oneof the devices in the list.

Not Complete Reasons

The [Not Complete Reasons] section defines the list of reasons that themigration may not be complete. Each of the non blank lines in thissection will be one of the reasons that can be chosen from the dialog inEMM IT.

Including Other INI Files

The [Include] section allows one control INI file to include others.Each file listed here will be included in-line and must be placed in thesame directory as the EMM executable. These included files can alsoinclude other files in the same way. Any of the sections can be placedin the included files allowing for

1. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for collecting inventory data about a group of machines at an office, the method steps comprising: running an inventory tool on each of said machines; the tool presenting dialogue displays on each of the machines; receiving data in the dialogues presented by the tool; and submitting the collected information to a server.
 2. A program storage device according to claim 1, wherein the step of running an inventory tool includes the step of downloading the inventory tool over a network to at least one of the machines of said group.
 3. A program storage device according to claim 2, wherein said method steps further comprise the step of downloading over the network a common control file for the tool.
 4. A program storage device according to claim 3, wherein said method steps further comprise the step of updating the common control file.
 5. A program storage device according to claim 1, wherein the submitting step includes the step of a specified one of the machines collecting inventory data from other machines in said group.
 6. A program storage device according to claim 5, wherein the submitting step includes the step of said specified one of the machines submitting the collected information to the server.
 7. A method of deploying a computer program product for collecting inventory data about a group of machines at an office, wherein when executed, the computer program performs the steps of: running an inventory tool on each of said machines; the tool presenting dialogue displays on each of the machines; receiving data in the dialogues presented by the tool; and submitting the collected information to a server.
 8. A method according to claim 7, wherein the step of running an inventory tool includes the step of downloading the inventory tool over a network to at least one of the machines of said group.
 9. A method according to claim 8, wherein said method steps further comprise the step of downloading over the network a common control file for the tool.
 10. A method according to claim 9, wherein said method steps further comprise the step of updating the common control file.
 11. A method according to claim 7, wherein the submitting step includes the step of a specified one of the machines collecting inventory data from other machines in said group.
 12. A method according to claim 11, wherein the submitting step includes the step of said specified one of the machines submitting the collected information to the server.
 13. A method for customizing an inventory data collection tool for a plurality of logical groups of users, comprising the steps of providing an inventory data collection tool; providing a common control file to customize the tool for each of said logical groups of users; providing each of the logical groups of users with a copy of the inventory data collection tool and with a first copy of said common control file; and each of the groups of users using said first copy of the common control file to customize the tool for said each of the groups of users.
 14. A method according to claim 13, comprising the further steps of: storing a copy of the common control file on a server; updating the copy of the common control file on the server; and providing each of the logical groups of users with access to the copy of the common control file on the server; wherein each of the logical groups of users has the option of using either the copy of the common control file on the server, or the first copy of the common control file provided to said each of the logical groups of users with the tool.
 15. A method according to claim 14, comprising the further step of: if one of the logical groups of users uses said first copy of the common control file provided with said tool, said first copy warning the user that the user is using said first copy of the common control file.
 16. A method according to claim 15, wherein the warning step includes the step of warning said one of said users that said user is not using said copy of the common control file from said server.
 17. A method according to claim 13, wherein the step of providing each of the logical groups of users with the inventory data collection tool includes the step of providing each of said logical groups of users with the inventory data collection tool with said first copy of said common control file already on the inventory data collection tool.
 18. A method according to claim 13, wherein the step of providing each of the logical groups of users with the inventory data collection tool includes the step of downloading said inventory data collection tool over a network to at least one of said each of the logical groups of users.
 19. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for customizing an inventory data collection tool for a plurality of logical groups of users, the method steps comprising: providing an inventory data collection tool; providing a common control file to customize the tool for each of said logical groups of users; providing each of the logical groups of users with a copy of the inventory data collection tool and with a first copy of said common control file; and each of the groups of users using said first copy of the common control file to customize the tool for said each of the groups of users.
 20. A program storage device according to claim 19, wherein said method steps comprise the further steps of: storing a copy of the common control file on a server; updating the copy of the common control file on the server; and providing each of the logical groups of users with access to the copy of the common control file on the server; wherein each of the logical groups of users has the option of using either the copy of the common control file on the server, or the first copy of the common control file provided to said each of the logical groups of users with the tool.
 21. A program storage device according to claim 19, wherein said method steps comprise the further step of if one of the logical groups of users uses said first copy of the common control file provided with said tool, said first copy warning the user that the user is using said first copy of the common control file.
 22. A program storage device according to claim 19, wherein the warning step includes the step of warning said one of said users that said user is not using said copy of the common control file from said server.
 23. A program storage device according to claim 19, wherein the step of providing each of the logical groups of users with the inventory data collection tool includes the step of providing each of said logical groups of users with the inventory data collection tool with said first copy of said common control file already on the inventory data collection tool.
 24. A program storage device according to claim 19, wherein the step of providing each of the logical groups of users with the inventory data collection tool includes the step of downloading said inventory data collection tool over a network to at least one of said each of the logical groups of users.
 25. A method of deploying a computer program product for customizing an inventory data collection tool for a plurality of logical groups of users, wherein when executed, the computer program performs the steps of: providing an inventory data collection tool; providing a common control file to customize the tool for each of said logical groups of users; providing each of the logical groups of users with a copy of the inventory data collection tool and with a first copy of said common control file; and each of the groups of users using said first copy of the common control file to customize the tool for said each of the groups of users.
 26. A method according to claim 25, wherein said steps comprise the further steps of: storing a copy of the common control file on a server; updating the copy of the common control file on the server; and providing each of the logical groups of users with access to the copy of the common control file on the server; wherein each of the logical groups of users has the option of using either the copy of the common control file on the server, or the first copy of the common control file provided to said each of the logical groups of users with the tool.
 27. A method according to claim 25, wherein said steps comprise the further step of: if one of the logical groups of users uses said first copy of the common control file provided with said tool, said first copy warning the user that the user is using said first copy of the common control file.
 28. A method according to claim 27, wherein the warning step includes the step of warning said one of said users that said user is not using said copy of the common control file from said server.
 29. A method according to claim 25, wherein the step of providing each of the logical groups of users with the inventory data collection tool includes the step of providing each of said logical groups of users with the inventory data collection tool with said first copy of said common control file already on the inventory data collection tool.
 30. A method according to claim 25, wherein the step of providing each of the logical groups of users with the inventory data collection tool includes the step of downloading said inventory data collection tool over a network to at least one of said each of the logical groups of users. 